package com.ljm.sys.auth.api;

import com.ljm.common.page.PageDto;
import com.ljm.sys.auth.dto.SysAuthRoleDto;
import com.ljm.sys.auth.dto.SysAuthRoleResDto;
import com.ljm.sys.auth.dto.UserRefDto;

import java.util.Set;

/**
 * <p>
    * 系统角色 接口
    * </p>
 *
 * @author HuamingChen
 * @since 2020-06-11
 */
public interface SysAuthRoleApi {
    /**
     * 保存角色
     * @param dto 角色信息
     */
    void saveData(SysAuthRoleDto dto);

    /**
     * 删除角色
     * @param id 角色id
     */
    void delData(Long id);

    /**
     * 获取角色
     * @param id 角色id
     * @return 角色信息
     */
    SysAuthRoleDto getDataById(Long id);

    /**
     * 分页获取角色信息
     * @param roleCode 角色代码
     * @param rodeName 角色名称
     * @param pageNo 页码
     * @param pageSize 也大小
     * @return
     */
    PageDto<SysAuthRoleDto> getDataByPage(String roleCode,String rodeName,int pageNo,int pageSize);

    /**
     * 角色授权
     * @param dto 资源信息
     */
    void setRoleRes(SysAuthRoleResDto dto);

    /**
     * 获取已授权的资源
     * @param roleCode
     * @return
     */
    Set<Long> getRoleRes(String roleCode);
}
